-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Add sensor firmware upload API support #93340
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
The following west manifest projects have changed revision in this Pull Request:
✅ All manifest checks OK Note: This message is automatically posted and updated by the Manifest GitHub Action. |
2b12ac2
to
504006c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is using blobs right, where it is using the zephyr blobs feature? https://docs.zephyrproject.org/latest/contribute/bin_blobs.html
Well, no, it it is not using blobs. The purpose of this PR is to introduce a new sensor API to upload a "firmware" (please note the quotes) to a sensor. In ST case this is just a register configuration in a .h file, which will be visible in hal_st module (but not as binary blobs). For other sensor drivers which decide to use the fw_upload API, it might be implemented as binary blobs. |
https://github.com/STMicroelectronics/st-mems-ispu/tree/master/host_firmware/nucleo_ispu_stedgeai_validate/binary this is binary https://github.com/STMicroelectronics/st-mems-machine-learning-core/blob/main/examples/6d_position_recognition/iis2dulpx/iis2dulpx_six_d_position.h#L165 and https://github.com/STMicroelectronics/st-mems-finite-state-machine/blob/main/examples/flip_down_detection/lsm6dsr/lsm6dsr_flip_down.h#L161 what are these if not binary blobs? |
host_firmware is part of the repo but is not relevant inside zephyr. Would that be an issue anyway?
OK, these two examples are in fact what it has to be uploaded. |
Add Firmware upload API Signed-off-by: Armando Visconti <[email protected]>
It can't be hosted on a zephyr repo
But they're binary blobs right? Like I can't take them and use them on some other device? |
Add support to Intelligent Sensor Processing Unit (ISPU). It requires to upload a ISPU configuration using the sensor_upload_fw() API and to handle requests through the SENSOR_CHAN_ST_ISPU proprietary channel. Signed-off-by: Armando Visconti <[email protected]>
504006c
to
d6c42fc
Compare
I'm reconsidering all this part. |
Marked as DNM because the lsm6dso16is driver should be ported to use read_and_decode APIs. At this point, the ISPU embedded core data will be not passed using fetch and get. |
|
Add sensor API to perform a "firmware upload". This new driver API is then used as a vehicle to upload a ISPU configuration into lsm6dso16is sensor (see ST ISPU for more details).
This PR is also changing the lsm6dso16is driver and modifying the x_nucleo_iks4a1 shield sample.